]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Ensure that all struts we set extends to their boundary
authorAlexander Larsson <alexl@redhat.com>
Thu, 24 Feb 2011 11:06:25 +0000 (12:06 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 3 Mar 2011 14:56:16 +0000 (15:56 +0100)
Mutter really expects this, as this is how app-specified struts
happen. For instance, if the primary display is beside a taller
screen and is not positioned at the top, then we extend the struts
for the panel with the size of the unused area above the primary
monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=642881

js/ui/chrome.js

index 4bad7c038a074549d001e58474589aaa98bc0669..addc9ac7db83717b35d10f9695d9c19957e703a6 100644 (file)
@@ -413,6 +413,23 @@ Chrome.prototype = {
             else
                 continue;
 
+            // Ensure that the strut rects goes all the way to the screen edge,
+            // as this really what mutter expects.
+            switch (side) {
+            case Meta.Side.TOP:
+                y1 = 0;
+                break;
+            case Meta.Side.BOTTOM:
+                y2 = global.screen_height;
+                break;
+            case Meta.Side.LEFT:
+                x1 = 0;
+                break;
+            case Meta.Side.RIGHT:
+                x2 = global.screen_width;
+                break;
+            }
+
             let strutRect = new Meta.Rectangle({ x: x1, y: y1, width: x2 - x1, height: y2 - y1});
             let strut = new Meta.Strut({ rect: strutRect, side: side });
             struts.push(strut);